/* 
 * File:   ExceptionsArbre.h
 * Author: guerinf
 *
 * Created on 19 décembre 2013, 14:32
 */

#ifndef EXCEPTIONSARBRE_H
#define	EXCEPTIONSARBRE_H

#include <exception>
using namespace std;

class ExceptionsArbre : public exception {
public:
        ExceptionsArbre(string attendu, string trouve) {m_attendu = attendu; m_trouve = trouve;}
        virtual const char* what() const throw() {return "Une exception de l'arbre s'est produite !";}
        string getAttendu() {return m_attendu;}
        string getTrouve() {return m_trouve;}
        ~ExceptionsArbre() throw() {}
private:
        string m_attendu;
        string m_trouve;
};

class ExceptionSyntaxe : public ExceptionsArbre {
public:
    ExceptionSyntaxe(string attendu, string trouve) : ExceptionsArbre(attendu,trouve){}
    const char* what() const throw() {return "Erreur de syntaxe.";}
    
};

class ExceptionSymbole : public ExceptionsArbre {
public:
    ExceptionSymbole(string attendu, string trouve) : ExceptionsArbre(attendu,trouve){}
    const char* what() const throw() {return "Erreur de symbole.";}
};
#endif	/* EXCEPTIONSARBRE_H */

